package main

import (
	"fmt"
	"strings"
)

//字符串
//字符串用双引号包裹；字符用单引号包裹
//1字节=8bit  1字符=1字节  1个ascll码汉字一般等于3字节
func main() {
	path := "\"D:\\go\\src\""
	fmt.Println(path)
	//多行的字符串(``括起来 两个反引号之间的内容会原样输出)
	var s2 string = `世情薄
					人情恶
					雨送黄昏花易落`
	fmt.Println(s2)
	//字符串相关操作
	//统计字符串s2的长度
	fmt.Println(len(s2))
	//字符串拼接方式1
	fmt.Println(path + s2)
	//字符串拼接方式2 Sprintln()
	ssl := fmt.Sprintf("%s+%s", path, s2)
	fmt.Println(ssl)
	fmt.Println(strings.Join(strings.Split(path, "\\"), "-"))
	//字符串分割操作
	ret := strings.Split(path, "\\")
	fmt.Println(ret)
	//字符串join操作
	fmt.Println(strings.Join(ret, "+"))
	//判断字符串是否包含
	fmt.Println(strings.Contains(ssl, "人情"))
	//是否包含chars中的任意一个字符
	fmt.Println(strings.ContainsAny(ssl, "人情"))
	//字符串前缀、后缀判断
	fmt.Println(strings.HasPrefix(ssl, "黄昏")) //判断字符串是不是以黄昏开头
	fmt.Println(strings.HasSuffix(ssl, "雨"))  //判断字符串是不是以雨结尾
	//判断子串在字符串中出现的位置(求子串的下标)
	ssa := "abcdefg"
	fmt.Println(strings.Index(ssa, "c")) //判断字符串ssa中子串c出现的位置
	fmt.Println(strings.Index(ssa, "g"))
}
